//
//  MessageDao.h
//  JiaoX
//
//  Created by yinqy on 15/3/11.
//  Copyright (c) 2015年 北京娇羞科技有限公司. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "JXMessage.h"

@interface ChatMsgDao : NSObject

/**
 *  向数据库内插入消息
 *
 *  @param message
 */
-(void)insertMessage:(JXMessage *)message;

/**
 *  获取聊天记录。
 *
 *  @param userId    用户id娇羞的程序员
 *  @param timestamp 时间，如果为空获取最后20条。如果不为空，获取这个时间之前的20条
 *  @param number 查询条数
 *
 *  @return
 */
-(NSArray *)getMsgsWithUserId:(NSString *)userId timestamp:(NSString *)timestamp number:(NSInteger)number;

/**
 *  设置与对方聊天消息的阅读状态为已读。在进入与些人聊天页面的时候
 *
 *  @param userId 用户id
 *
 *  @return 是否设置成功
 */
-(BOOL)setMessageReadStatus:(NSString *)userId;
/**
 *  更改消息的发送状态
 *
 *  @param objectId   消息的id
 *  @param sendStatus 状态
 *
 *  @return
 */
-(BOOL)setMessageSendStatus:(NSString *)objectId sendStatus:(SendStatus)sendStatus;

/**
 *  更新消息内容 目前使用于更新图片路径
 *
 *  @param messageId 消息id
 *  @param content   内容
 *
 *  @return 
 */
-(BOOL)setMessageContent:(NSString *)messageId content:(NSString *)content;

/**
 *  添加最近联系人
 *
 *  @param ID   用户id或者群id
 *  @param type roomtype，单聊或者群聊
 *
 *  @return
 */
-(BOOL)addSessionWithId:(NSString *)ID type:(RoomType)type;

/**
 *  获取最近聊天列表
 *
 *  @param ownerId 当前用户的id
 *
 *  @return 
 */
-(NSArray *)getConversionsWithOwnerId:(NSString *)ownerId;

/**
 *  删除指定id的session
 *
 *  @param ID
 *  @param type 单聊或者群聊
 *
 *  @return
 */
-(BOOL)deleteSessionWithId:(NSString *)ID type:(RoomType)type;

/**
 *  删除与指定联系人的聊天信息
 *
 *  @param ID
 *
 *  @return
 */
-(BOOL)deleteMessageWithOtherId:(NSString *)ID;


/**
 *  获取所有的未读消息的数量
 *
 *  @return
 */
-(NSInteger)getAllUnReadMsgCount;
@end
